A Specification Language for Distributed Components Implemented in GCM/ProActive
نویسندگان
چکیده
1.1 Introduction This technical report is based on a component model for distributed components called GCM for Grid Component Model. We present here this component model, its reference implementation based on the Java middleware ProActive, our specification language JDC adapted to distributed components, and the associated specification platform: Vercors. Our aim is, from the specification of components and their behaviour, to be able to both verify properties of this behaviour and generate real GCM components. The OASIS team works in the area of distributed systems, with a stress on programming methodology and tools for computing grids. Analysing the behaviour of distributed systems always has been more difficult than for traditional systems, because of the complexity of temporal interactions between remote parts of the application. We base our programming model on active objects: each active object has its own (and unique) thread, processing asynchronous method calls on the object. This model is intended to ease the analysis of con-currency by clearly identifying entry points for communications and limiting the concurrency aspects to remote method calls on the same object. Moreover, structuring distributed systems using components is somewhat better, because it requires that interaction points (service points, but also required interfaces) are well defined. Additionally, having well-defined components boundaries reduces the amount of information that one component needs to have of its environment. The active object paradigm together with a distributed hierarchical component model provide convenient abstractions that help programmers understand the interactions between their different pieces of codes. Indeed in GCM/ProAc-tive communication and concurrency is provided by asynchronous method calls between well-defined interfaces, and transparent channels transmitting the results of those calls. Unfortunately, developers still have to face non-trivial runtime incompatibilities when assembling off-the-shelf components. These incompatibilities arise due to the lack of a precise dynamic specification of the component behaviour (the protocols for inter-component communication). In fact, state-of-the-art implementations of component models such as Fractal [1] and the CORBA Component Model [2] only consider interface type-compatibility for binding interfaces. Nonetheless, a much more precise, sound static compatibility check of bound interfaces can be achieved if behavioural information is added to the components. In such effort, we proposed in [3] to attach behaviour as part of the architecture specification, defined in terms of parameterized networks of transition systems. The compatibility between these behaviours could be checked using model-checkers as we did in [4]. In the same spirit, " behavior protocols " …
منابع مشابه
1 A Specification Language for Distributed Components implemented in GCM / ProActive
1.1 Introduction 1.1.1 Goals and scope of the component model This chapter is based on a component model for distributed components called GCM for Grid Component Model. We present here this component model, its reference implementation based on the Java middleware ProActive, our specification language, JDC, adapted to distributed software components, and the associated specification platform: V...
متن کاملExtension of the Fractal ADL for the Specification of Behaviours of Distributed Components
Inheriting from a long experience about modules, objects and interfaces, component programming has emerged as a programming methodology ensuring both re-usability and composability. Among the components models, Fractal [6] provides hierarchical composition for a better structure, and specification of control interfaces for dynamic management. Fractal defines a highly extensible component model ...
متن کاملProgramming distributed and adaptable autonomous components - the GCM/ProActive framework
Component oriented software has become a useful tool to build larger and more complex systems by describing the application in terms of encapsulated, loosely-coupled entities called components. At the same time, asynchronous programming patterns allow for the development of efficient distributed applications. While several component models and frameworks have been proposed, most of them tightly...
متن کاملBehavioural Verification of Distributed Components
Component models provide a structured programming paradigm, and ensure a very good re-usability of programs. Indeed in component applications, dependencies are defined together with provided functionalities by the means of provided/required ports; this improves the program re-usability. Some component models and their implementations additionally keep a trace at runtime of the component structu...
متن کاملProject No. FP6-004265 CoreGRID European Research Network on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies Network of Excellence GRID-based Systems for solving complex problems
This document describes a Grid component model (called GCM). It defines the main features to be included in the GCM, as currently assessed in the Programming Model Institute. By defining the GCM, the Institute aims at the precise specification of an effective GCM. Fractal has been chosen by the CoreGrid community as the basis for the definitions of the GCM: The GCM features is roughly defined a...
متن کامل